package com.dd.admin.business.sellDetail.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.util.ArrayList;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.dd.admin.business.detailServer.entity.SellDetailServer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 订单详情
 * </p>
 *
 * @author 727869402@qq.com
 * @since 2024-06-19
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("business_sell_detail")
@ApiModel(value="SellDetail对象", description="订单详情")
public class SellDetail implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "销售细单id")
    @TableId(value = "SELL_DETAIL_ID", type = IdType.ASSIGN_UUID)
    private String sellDetailId;

    @ApiModelProperty(value = "会员id")
    @TableField("MEMBER_ID")
    private String memberId;

    @ApiModelProperty(value = "订单id")
    @TableField("SELL_ID")
    private String sellId;

    @ApiModelProperty(value = "1开卡 2续卡 3项目 4商品")
    @TableField("SELL_TYPE")
    private Integer sellType;

    @ApiModelProperty(value = "商品类型")
    @TableField("PRODUCT_TYPE")
    private Integer productType;

    @ApiModelProperty(value = "会员卡id")
    @TableField("MEMBER_CARD_ID")
    private String memberCardId;

    @ApiModelProperty(value = "商品ID")
    @TableField("PRODUCT_ID")
    private String productId;

    @ApiModelProperty(value = "商品名")
    @TableField("PRODUCT_NAME")
    private String productName;

    @ApiModelProperty(value = "商品数量")
    @TableField("COUNT")
    private Long count;

    @ApiModelProperty(value = "折扣")
    @TableField("DISCOUNT")
    private BigDecimal discount;

    @ApiModelProperty(value = "金额")
    @TableField("AMOUNT")
    private BigDecimal amount;

    @ApiModelProperty(value = "实际金额")
    @TableField("REAL_AMOUNT")
    private BigDecimal realAmount;

    @ApiModelProperty(value = "商品实际金额")
    @TableField("TOTAL_REAL_AMOUNT")
    private BigDecimal totalRealAmount;

    @ApiModelProperty(value = "卡项ID")
    @TableField("CARD_ID")
    private String cardId;

    @ApiModelProperty(value = "卡名")
    @TableField("CARD_NAME")
    private String cardName;

    @ApiModelProperty(value = "赠送金额")
    @TableField("GIVE_AMOUNT")
    private BigDecimal giveAmount;

    @ApiModelProperty(value = "门店id")
    @TableField(value = "SHOP_ID", fill = FieldFill.INSERT)
    private String shopId;

    @ApiModelProperty(value = "门店名")
    @TableField(value = "SHOP_NAME", fill = FieldFill.INSERT)
    private String shopName;

    @ApiModelProperty(value = "创建人")
    @TableField(value = "CREATE_NAME", fill = FieldFill.INSERT)
    private String createName;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "创建人id")
    @TableField(value = "CREATE_ID", fill = FieldFill.INSERT)
    private String createId;

    @ApiModelProperty(value = "修改时间")
    @TableField(value = "UPDATE_TIME", fill = FieldFill.UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "修改人")
    @TableField(value = "UPDATE_NAME", fill = FieldFill.UPDATE)
    private String updateName;

    @ApiModelProperty(value = "修改人id")
    @TableField(value = "UPDATE_ID", fill = FieldFill.UPDATE)
    private String updateId;

    @ApiModelProperty(value = "0正常 1取消")
    @TableField("SELL_STATUS")
    private Integer sellStatus;

    @TableField(exist = false)
    List<SellDetailServer> detailServerList = new ArrayList<>();

}
